//034. 数字阶乘
//        145 是一个好奇数，因为 1!+4!+5!=1+24+120=145，求所有这样的好奇数字之和。
//        注：因为 1!=1 以及 2!=2 都不是和，所以不包括在内。
//        答案：40730

public class Week034 {
    static void run() {
        int ans = 0;
        int[] numFactorial = new int[10];
        numFactorial[0] = numFactorial[1] = 1;
        for (int i = 2; i < 10; ++i) numFactorial[i] = numFactorial[i - 1] * i;
        for (int i = 145; i < 50000; ++i) {
            int sum = 0;
            for (int j = i; j != 0; j /= 10) sum += numFactorial[j % 10];
            if (i == sum) ans += i;
        }
        System.out.println(ans);
    }

    public static void main(String[] args) {
        long startTime = System.nanoTime();
        run();
        System.out.println("\n程序运行时间：" + (System.nanoTime() - startTime) + "ns.");
    }
}
